
#include "Dibujable.h"

Dibujable::Dibujable(SDL_Surface* imagen, int anchoCuadro, int altoCuadro, int cantCuadros) {

	this->imagen = ajustar_imagen(imagen, anchoCuadro*cantCuadros, altoCuadro);
	this->anchoCuadro = anchoCuadro;
	this->altoCuadro = altoCuadro;
	this->cantCuadros = cantCuadros;
}

Dibujable::~Dibujable() {
	
	SDL_FreeSurface(imagen);
}

SDL_Rect* Dibujable::BuscarClip(int numCuadro) {
	
	SDL_Rect* clip = new SDL_Rect();
	
	clip->x = numCuadro * anchoCuadro;
	clip->y = 0;
	clip->w = anchoCuadro;
	clip->h = altoCuadro;
	
	return clip;
}

int Dibujable::Dibujar(Punto posicion, SDL_Surface* destino, int numCuadro) {
	
	return insertar_imagen (posicion.getX(), posicion.getY(), imagen, destino, BuscarClip(numCuadro));
}

SDL_Surface* Dibujable::getImagen() {
	return imagen;
}
